package com.hand.qt24953.order.domain.repository;

import com.hand.qt24953.order.api.dto.OrderConditionDTO;
import com.hand.qt24953.order.api.dto.OrderDTO;
import io.choerodon.core.domain.Page;
import io.choerodon.mybatis.pagehelper.domain.PageRequest;
import org.hzero.export.vo.ExportParam;
import org.hzero.mybatis.base.BaseRepository;
import com.hand.qt24953.order.domain.entity.SoHeader;

/**
 * 销售订单头资源库
 *
 * @author tao.qiu01@hadn-china.com 2019-08-02 11:30:00
 */
public interface SoHeaderRepository extends BaseRepository<SoHeader> {
    /**
     * 分页查询订单信息
     * @param pageRequest       分页请求
     * @param orderConditionDTO 查询条件
     * @return 订单信息
     */
    Page<OrderDTO> selectByOrderCondition(PageRequest pageRequest, OrderConditionDTO orderConditionDTO);

    /**
     * 导出订单
     *
     * @param orderConditionDTO 查询条件
     * @param exportParam       导出信息
     * @param pageRequest       分页信息
     * @return 导出Excel文件
     */
    Page<OrderDTO> export(OrderConditionDTO orderConditionDTO, ExportParam exportParam, PageRequest pageRequest);

    /**
     * 新建订单头
     *
     * @param tenantId 租户
     * @param record   订单头
     * @return 影响行
     */
    int insertSelective(Long tenantId, SoHeader record);
}
